package com.love.marriage.userProfileInfo.entity;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.love.marriage.common.entity.BaseEntity;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Getter;
import lombok.Setter;
import lombok.experimental.Accessors;

import java.math.BigDecimal;
import java.time.LocalDate;

/**
 * description:  用户档案表类
 * author:       mybatisPlus
 * createDate: 2024-10-12 21:01:09
 * version:      1.0.0
 */
@Getter
@Setter
@Accessors(chain = true)
@TableName("user_profile_info_t")
@Schema(description = "用户档案表")
public class UserProfileInfo extends BaseEntity<UserProfileInfo>{

    @Schema(description = "昵称", type = "String", implementation = String.class)
    @TableField("nickname")
    private String nickname;

    @Schema(description = "性别", type = "String", implementation = String.class)
    @TableField("gender")
    private String gender;

    @Schema(description = "出生年月", type = "LocalDate", implementation = LocalDate.class)
    @TableField("birth_year_month")
    private LocalDate birthYearMonth;

    @Schema(description = "身高 (单位: cm)", type = "BigDecimal", implementation = BigDecimal.class)
    @TableField("height")
    private BigDecimal height;

    @Schema(description = "体重 (单位: kg)", type = "BigDecimal", implementation = BigDecimal.class)
    @TableField("weight")
    private BigDecimal weight;

    @Schema(description = "居住所在地", type = "String", implementation = String.class)
    @TableField("residence")
    private String residence;

    @Schema(description = "省id", type = "Long", implementation = Long.class)
    @TableField("province_id")
    private Long provinceId;

    @Schema(description = "城市id", type = "Integer", implementation = Long.class)
    @TableField("city_id")
    private Long cityId;

    @Schema(description = "区id", type = "Integer", implementation = Long.class)
    @TableField("district_id")
    private Long districtId;

    @Schema(description = "婚姻状况", type = "String", implementation = String.class)
    @TableField("marital_status")
    private String maritalStatus;

    @Schema(description = "最高学历/文化层次", type = "String", implementation = String.class)
    @TableField("education_level")
    private String educationLevel;

    @Schema(description = "从事行业/职业", type = "String", implementation = String.class)
    @TableField("profession")
    private String profession;

    @Schema(description = "收入情况", type = "String", implementation = String.class)
    @TableField("income_status")
    private String incomeStatus;

    @Schema(description = "车房情况", type = "String", implementation = String.class)
    @TableField("car_house_status")
    private String carHouseStatus;

    @Schema(description = "特殊说明", type = "String", implementation = String.class)
    @TableField("special_note")
    private String specialNote;

    @Schema(description = "择偶要求", type = "String", implementation = String.class)
    @TableField("partner_requirements")
    private String partnerRequirements;

    @Schema(description = "我的爱情观", type = "String", implementation = String.class)
    @TableField("love_view")
    private String loveView;

    @Schema(description = "理想中的Ta", type = "String", implementation = String.class)
    @TableField("ideal_partner")
    private String idealPartner;

    @Schema(description = "联系方式", type = "String", implementation = String.class)
    @TableField("contact_phone")
    private String contactPhone;

    @Schema(description = "个人形象照片ID, 多个ID用逗号隔开", type = "String", implementation = String.class)
    @TableField("avatar_ids")
    private String avatarIds;

    @Schema(description = "用户id", type = "Long", implementation = Long.class)
    @TableField("user_id")
    private Long userId;

    @Schema(description = "星座", type = "String", implementation = String.class)
    @TableField("zodiac")
    private String zodiac;

    @Schema(description = "属相", type = "String", implementation = String.class)
    @TableField("cn_zodiac")
    private String cnZodiac;

    @Schema(description = "学校,字典(school)", type = "String", implementation = String.class)
    @TableField("school")
    private String school;

    @Schema(description = "教育类型,字典(educationType)", type = "String", implementation = String.class)
    @TableField("education_type")
    private String educationType;

    @Schema(description = "展示手机标识", type = "Boolean", implementation = Boolean.class)
    @TableField(value = "show_phone")
    private Boolean showPhone;

    @Schema(description = "展示微信标识", type = "Boolean", implementation = Boolean.class)
    @TableField(value = "show_wechat")
    private Boolean showWechat;

    @Schema(description = "微信二维码id", type = "Long", implementation = Long.class)
    @TableField(value = "wechat_qr_code_id")
    private Long wechatQrCodeId;

    @Schema(description = "自动交换联系方式", type = "Boolean", implementation = Boolean.class)
    @TableField(value = "auto_exchange_contact")
    private Boolean autoExchangeContact;

    @Schema(description = "发布人类型,字典(publish_people_type)", type = "String", implementation = String.class)
    @TableField(value = "publish_people_type")
    private String publishPeopleType;

    @Schema(description = "分享图片id", type = "Long", implementation = Long.class)
    @TableField(value = "share_photo_id")
    private Long sharePhotoId;

    @Schema(description = "第一次提交标识", type = "Boolean", implementation = Boolean.class)
    @TableField(value = "first_flag")
    private Boolean firstFlag;
}
